package qc.common.core.enums.qms;

import com.baomidou.mybatisplus.annotation.EnumValue;
import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * QMS告警状态枚举
 *
 * @author QuCheng Tech
 * @since 2025/10/20
 */
@Getter
@AllArgsConstructor
public enum QmsAlarmStatusEnum {
    /**
     * 新产生告警，之前的告警均已取消或已关闭
     */
    NEW(0, "新产生"),
    /**
     * 等级上升，之前已有告警，本次告警等级上升
     */
    UP(1, "等级上升"),
    /**
     * 等级下降，之前已有告警，本次告警等级下级
     */
    DOWN(2, "等级下降"),
    /**
     * 告警等级没有变化
     */
    HOLD(3, "持续告警"),
    /**
     * 由数据值触发系统自动判定告警取消（解除）
     * 已取消告警、已关闭/停止告警；2种状态的区别是取消告警是由系统自动根据数据判定的，关闭/停止是由人工操作关闭的
     */
    CANCEL(7, "已取消"),
    /**
     * 人工操作关闭告警
     */
    CLOSED(8, "已关闭");

    @EnumValue
    private int index;
    private String name;

    @Override
    public String toString() {
        if (this != null)
            return this.name;

        return null;
    }
}
